home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Resources
/
Chat & Communication
/
Digsby build 37
/
digsby_setup.exe
/
lib
/
ZSI
/
twisted
/
reverse.pyo
(
.txt
)
< prev
next >
Wrap
Python Compiled Bytecode
|
2008-10-13
|
3KB
|
85 lines
# Source Generated with Decompyle++
# File: in.pyo (Python 2.5)
from ZSI import _get_element_nsuri_name, SoapWriter, ParsedSoap
from interfaces import HandlerChainInterface
from zope.interface import classProvides, implements, Interface
class DataHandler:
classProvides(HandlerChainInterface)
readerClass = None
def processRequest(cls, input, **kw):
return ParsedSoap(input, readerclass = cls.readerClass)
processRequest = classmethod(processRequest)
def processResponse(cls, sw, **kw):
return str(sw)
processResponse = classmethod(processResponse)
class CallbackHandler:
classProvides(HandlerChainInterface)
writerClass = None
def processRequest(cls, ps, **kw):
resource = kw['resource']
request = kw['request']
method = getattr(resource, 'soap_%s' % _get_element_nsuri_name(ps.body_root)[-1])
try:
(req, rsp) = method(ps, request = request)
except Exception:
ex = None
raise
return rsp
processRequest = classmethod(processRequest)
def processResponse(cls, output, **kw):
sw = SoapWriter(outputclass = cls.writerClass)
sw.serialize(output)
return sw
processResponse = classmethod(processResponse)
class ReverseHandlerChain:
def __init__(self, *handlers):
self.in_handlers = handlers
handlers = list(handlers)
handlers.reverse()
self.out_handlers = tuple(handlers)
def processRequest(self, arg, **kw):
for h in self.in_handlers:
arg = h.processRequest(arg, **kw)
return arg
def processResponse(self, arg, **kw):
if arg is None:
return None
for h in self.out_handlers:
arg = h.processResponse(arg, **kw)
return arg
class ReverseHandlerChainFactory:
protocol = ReverseHandlerChain
def newInstance(cls):
return cls.protocol(DataHandler, CallbackHandler)
newInstance = classmethod(newInstance)